//
//  UITextField+ZXLimit.h
//  Baby
//
//  Created by xielei on 15/12/20.
//  Copyright © 2015年 sina. All rights reserved.
//
//  简介：textField输入限制；
//  2017.12.27 限制小数，前几位后几位，优化；
//  2021.08.09 移动文件

#import <UIKit/UIKit.h>

NS_ASSUME_NONNULL_BEGIN


@interface UITextField (ZXLimit)


/**
 限制数字：限制输入textField的数字小数点前面几位，小数点后面几位；
 例如：
 static NSInteger const MAXLENGTH = 12;
 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
 {
     if (textField ==_orderCountField){
         if (range.location>= MAXLENGTH){
             textField.text = [textField.text substringToIndex:MAXLENGTH];
             return NO;
         }
         return YES;
     }
     return [UITextField zh_limitPayMoneyDot:textField shouldChangeCharactersInRange:range replacementString:string dotPreBits:9 dotAfterBits:2];
 }
 @param textField textField
 @param range range
 @param string string
 @param dotPreBits 小数点前面最多几位
 @param dotAfterBits 小数点后面最多几位
 @return 是否允许输入；
 */
+ (BOOL)zx_limitPayMoneyDot:(UITextField *)textField
shouldChangeCharactersInRange:(NSRange)range
          replacementString:(NSString *)string
                 dotPreBits:(int)dotPreBits
               dotAfterBits:(int)dotAfterBits;




/// 限制字符：限制可输入最大字符数，支持表情，支持删除键，支持回调剩余可输入数量；利用代理方法：- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string；
/// @param textField 代理方法的textField
/// @param range 代理方法的range
/// @param string 代理方法的输入文字
/// @param maxLength 最大字符数
/// @param remainTextBlock 剩余可输入字数
+ (BOOL)zx_limitRemainText:(UITextField *)textField
shouldChangeCharactersInRange:(NSRange)range
         replacementString:(NSString *)string
                 maxLength:(NSInteger)maxLength
             remainTextNum:(nullable void(^)(NSInteger remainLength))remainTextBlock;

@end

NS_ASSUME_NONNULL_END
